This invention relates to the field of software information identification and more specifically to techniques for providing interoperability between different software identifier formats.
In software environments, it is important to be able to identify information without significant amounts of centralized coordination. An identifier standard known as the Universally Unique Identifier (UUID) standard was developed and a particular implementation is the Globally Unique Identifier (GUID) standard. GUID is a mechanism used to uniquely identify electronic objects via a static identifier (similar to an electronic serial number) in databases or directories.
Despite the widespread adoption of UUIDs and GUIDs, a problem with the GUID system is that the identifiers may be in many formats that are different and distinct from each other. Formats lack transparency and interoperability. While many applications can generate and store information in a GUID format, the information is often stored in GUID in a proprietary format, even if the information has the same values. For example, Microsoft stores GUIDs in a completely different format from Oracle's.
Because different formats are used, this leads to interoperability problems between software platforms. An application developed expecting a particular GUID format is likely not compatible with an application or data source using another GUID format. In fact, using an application with information in a GUID format the application does not expect will likely produce incorrect or erroneous results. The user of the application may not even be made aware that an error has occurred because the application does not recognize there was a problem with the information.
Further, when data from multiple systems are aggregated with, for example, a virtual directory, this can cause problems because client applications may be expecting a GUID to be presented and in a particular format which is different than the actual source system. Some of the systems being integrated might not even use GUID. If a client application relies on GUID, the client application will only work properly with the services that provide GUID. In the integrated environment, such as with a virtual directory environment, if any of the back-end systems cannot provide GUID, or if the GUID provided are not in the same data type and format, then the client applications will not be able to utilize GUID.
Therefore, there is a need for a technique for providing interoperability between the different UUID and GUID formats.